home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 14.3 KB | 380 lines | [TEXT/MPS ] |
- /*
- File: OCEMail.idl
-
- Contains: Apple Open Collaboration Environment OCEMail Interfaces.
-
- Version: Technology: AOCE Toolbox 1.02
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __OCEMAIL_IDL__
- #define __OCEMAIL_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __FILES_IDL__
- #include <Files.idl>
- #endif
- #ifndef __MEMORY_IDL__
- #include <Memory.idl>
- #endif
- #ifndef __TEXTEDIT_IDL__
- #include <TextEdit.idl>
- #endif
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __DIGITALSIGNATURE_IDL__
- #include <DigitalSignature.idl>
- #endif
- #ifndef __OCE_IDL__
- #include <OCE.idl>
- #endif
- #ifndef __OCEAUTHDIR_IDL__
- #include <OCEAuthDir.idl>
- #endif
- #ifndef __OCEMESSAGING_IDL__
- #include <OCEMessaging.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_ONLY
- /**************************************************************************************/
- /* Common Definitions */
- /**************************************************************************************/
- /* reference to a new or open letter or message */
- typedef long MailMsgRef;
-
- /* reference to an open msam queue */
- typedef long MSAMQueueRef;
-
- /* identifies slots managed by a PMSAM */
- typedef unsigned short MSAMSlotID;
-
- /* reference to an active mailbox */
- typedef long MailboxRef;
-
- /* identifies slots within a mailbox */
- typedef unsigned short MailSlotID;
-
- /* identifies a letter in a mailbox */
- typedef SOMLargeStruct MailSeqNum; /* Derived from a struct of 6 bytes in size */
-
- /*
- A MailBuffer is used to describe a buffer used for an IO operation.
- The location of the buffer is pointed to by 'buffer'.
- When reading, the size of the buffer is 'bufferSize'
- and the size of data actually read is 'dataSize'.
- When writing, the size of data to be written is 'bufferSize'
- and the size of data actually written is 'dataSize'.
- */
- typedef SOMLargeStruct MailBuffer; /* Derived from a struct of 12 bytes in size */
-
- /*
- A MailReply is used to describe a commonly used reply buffer format.
- It contains a count of tuples followed by an array of tuples.
- The format of the tuple itself depends on each particular call.
- */
- typedef SOMTwoByteStruct MailReply; /* Derived from a struct of 2 bytes in size */
-
- /*
- Shared Memory Communication Area used when Mail Manager sends
- High Level Events to a PMSAM.
- */
- typedef SOMLargeStruct SMCA; /* Derived from a struct of 20 bytes in size */
-
- /**************************************************************************************/
- /* Value of creator and types fields for messages and blocks defined by MailManager */
- /*
- kMailImageBodyType:
- format is struct TPfPgDir - in Printing.h
- * struct TPfPgDir {
- * short pageCount; - number of pages in the image.
- * long iPgPos[129]; - iPgPos[n] is the offset from the start of the block
- * - to image of page n.
- * - iPgPos[n+1] - iPgPos[n] is the length of page n.
-
- kMailReportType:
- Reports have the isReport bit set in MailIndications and contain a block of type kMailReport.
- This block has a header, IPMReportBlockHeader,
- followed by an array of elements, each of type IPMRecipientReport
-
- Various families used by mail or related msgs
- */
- /**************************************************************************************/
- typedef unsigned short MailAttributeID;
-
- /* Values of MailAttributeID */
- /* Message store attributes - stored in the catalog */
- /* Will always be present in a letter and have fixed sizes */
- typedef unsigned long MailAttributeMask;
-
- /* Values of MailAttributeMask */
- typedef unsigned long MailAttributeBitmap;
-
- /**************************************************************************************/
- typedef unsigned short MailLetterSystemFlags;
-
- /* Values of MailLetterSystemFlags */
- /* letter is available locally (either by nature or via cache) */
- typedef unsigned short MailLetterUserFlags;
-
- /* Values of MailLetterUserFlags */
- typedef SOMFourByteStruct MailLetterFlags; /* Derived from a struct of 4 bytes in size */
-
- typedef SOMLargeStruct MailMaskedLetterFlags; /* Derived from a struct of 8 bytes in size */
-
- /* Values of MailIndications */
- typedef unsigned long MailIndications;
-
- /* values of the field originalInReport in MailIndications */
- typedef IPMMsgID MailLetterID;
-
- typedef SOMLargeStruct MailTime; /* Derived from a struct of 8 bytes in size */
-
- /* innermost letter has nestingLevel 0 */
- typedef unsigned short MailNestingLevel;
-
- typedef OCERecipient MailRecipient;
-
- /**************************************************************************************/
- typedef unsigned short MailSegmentMask;
-
- /* Values of MailSegmentMask */
- typedef unsigned short MailSegmentType;
-
- /* Values of MailSegmentType */
- /**************************************************************************************/
- typedef unsigned short MailLogErrorType;
-
- /* Values of MailLogErrorType */
- typedef short MailLogErrorCode;
-
- /* Values of MailLogErrorCode */
- typedef SOMLargeStruct MailErrorLogEntryInfo; /* Derived from a struct of 84 bytes in size */
-
- /**************************************************************************************/
- typedef short MailBlockMode;
-
- /* Values of MailBlockMode */
- typedef SOMLargeStruct MailEnclosureInfo; /* Derived from a struct of 16 bytes in size */
-
- /**************************************************************************************/
- typedef char OCESetupLocation;
-
- /*
- location state is a bitmask, 0x1=>1st location active,
- * 0x2 => 2nd, 0x4 => 3rd, etc.
- */
- typedef UInt8 MailLocationFlags;
-
- typedef SOMTwoByteStruct MailLocationInfo; /* Derived from a struct of 2 bytes in size */
-
- /**************************************************************************************/
- /* Definitions for Personal MSAMs */
- /**************************************************************************************/
- typedef SOMLargeStruct MailEPPCMsg; /* Derived from a struct of 12 bytes in size */
-
- /* Values of OCE defined High Level Event message classes */
- typedef SOMLargeStruct MailTimer; /* Derived from a struct of 8 bytes in size */
-
- typedef Byte MailTimerKind;
-
- typedef SOMLargeStruct MailTimers; /* Derived from a struct of 10 bytes in size */
-
- typedef SOMLargeStruct MailStandardSlotInfoAttribute; /* Derived from a struct of 14 bytes in size */
-
- typedef OpaquePtr MSAMIOCompletionProcPtr;
- typedef OpaquePtr MSAMIOCompletionUPP;
- typedef SOMLargeStruct PMSAMGetMSAMRecordPB; /* Derived from a struct of 32 bytes in size */
-
- typedef SOMLargeStruct PMSAMOpenQueuesPB; /* Derived from a struct of 42 bytes in size */
-
- typedef unsigned short PMSAMStatus;
-
- /* Values of PMSAMStatus */
- typedef SOMLargeStruct PMSAMSetStatusPB; /* Derived from a struct of 38 bytes in size */
-
- typedef SOMLargeStruct PMSAMLogErrorPB; /* Derived from a struct of 38 bytes in size */
-
- /****************************************************************************************/
- typedef SOMLargeStruct MailMasterData; /* Derived from a struct of 52 bytes in size */
-
- /* Values for addressedToMe in struct MailCoreData */
- typedef SOMLargeStruct MailCoreData; /* Derived from a struct of 112 bytes in size */
-
- typedef SOMLargeStruct MSAMMsgSummary; /* Derived from a struct of 170 bytes in size */
-
- /* PMSAM can put up to 128 bytes of private msg summary data */
- typedef SOMLargeStruct PMSAMCreateMsgSummaryPB; /* Derived from a struct of 40 bytes in size */
-
- typedef SOMLargeStruct PMSAMPutMsgSummaryPB; /* Derived from a struct of 40 bytes in size */
-
- typedef SOMLargeStruct PMSAMGetMsgSummaryPB; /* Derived from a struct of 42 bytes in size */
-
- /****************************************************************************************/
- /* Definitions for Server MSAMs */
- /**************************************************************************************/
- typedef unsigned short SMSAMAdminCode;
-
- /* Values of SMSAMAdminCode */
- typedef unsigned long SMSAMSlotChanges;
-
- /* Values of SMSAMSlotChanges */
- /* kSMSAMNotifyFwdrSetupChange */
- typedef SOMLargeStruct SMSAMSetupChange; /* Derived from a struct of 8 bytes in size */
-
- /* kSMSAMNotifyFwdrNameChange */
- typedef SOMLargeStruct SMSAMNameChange; /* Derived from a struct of 264 bytes in size */
-
- /* kSMSAMNotifyFwdrPasswordChange */
- typedef SOMLargeStruct SMSAMPasswordChange; /* Derived from a struct of 264 bytes in size */
-
- /* kSMSAMGetDynamicFwdrParams */
- typedef SOMLargeStruct SMSAMDynamicParams; /* Derived from a struct of 8 bytes in size */
-
- typedef SOMLargeStruct SMSAMAdminEPPCRequest; /* Derived from a struct of 546 bytes in size */
-
- typedef SOMLargeStruct SMSAMSetupPB; /* Derived from a struct of 44 bytes in size */
-
- typedef SOMLargeStruct SMSAMStartupPB; /* Derived from a struct of 32 bytes in size */
-
- typedef SOMLargeStruct SMSAMShutdownPB; /* Derived from a struct of 28 bytes in size */
-
- /****************************************************************************************/
- /* Definitions for reading and writing MSAM Letters */
- /****************************************************************************************/
- typedef SOMLargeStruct MSAMEnumeratePB; /* Derived from a struct of 48 bytes in size */
-
- typedef SOMLargeStruct MSAMEnumerateInQReply; /* Derived from a struct of 8 bytes in size */
-
- typedef SOMLargeStruct MSAMEnumerateOutQReply; /* Derived from a struct of 60 bytes in size */
-
- typedef SOMLargeStruct MSAMDeletePB; /* Derived from a struct of 36 bytes in size */
-
- typedef SOMLargeStruct MSAMOpenPB; /* Derived from a struct of 36 bytes in size */
-
- typedef SOMLargeStruct MSAMOpenNestedPB; /* Derived from a struct of 32 bytes in size */
-
- typedef SOMLargeStruct MSAMClosePB; /* Derived from a struct of 28 bytes in size */
-
- typedef SOMLargeStruct MSAMGetMsgHeaderPB; /* Derived from a struct of 50 bytes in size */
-
- /*
- MSAMGetAttributesPB.buffer returned will contain the attribute values of
- the attributes indicated in responseMask,
- from the attribute indicated by the least significant bit set
- to the attribute indicated by the most significant bit set.
- Note that recipients - from, to, cc, bcc cannot be read using
- this call. Use GetRecipients to read these.
- */
- typedef SOMLargeStruct MSAMGetAttributesPB; /* Derived from a struct of 50 bytes in size */
-
- /* attrID value to get resolved recipient list */
- typedef SOMTwoByteStruct MailOriginalRecipient; /* Derived from a struct of 2 bytes in size */
-
- /* Followed by OCEPackedRecipient */
- typedef SOMLargeStruct MailResolvedRecipient; /* Derived from a struct of 6 bytes in size */
-
- /* Followed by OCEPackedRecipient */
- /*
- MSAMGetRecipientsPB.buffer contains a Mail Reply. Each tuple is a
- MailOriginalRecipient if getting original recipients
- ie the attrID is kMail[From, To, Cc, Bcc]Bit
- MailResolvedRecipient if getting resolved reicpients
- ie the attrID is kMailResolvedList
- Both tuples are word alligned.
- */
- typedef SOMLargeStruct MSAMGetRecipientsPB; /* Derived from a struct of 48 bytes in size */
-
- typedef SOMLargeStruct MSAMGetContentPB; /* Derived from a struct of 62 bytes in size */
-
- typedef SOMLargeStruct MSAMGetEnclosurePB; /* Derived from a struct of 44 bytes in size */
-
- typedef SOMLargeStruct MailBlockInfo; /* Derived from a struct of 16 bytes in size */
-
- typedef SOMLargeStruct MSAMEnumerateBlocksPB; /* Derived from a struct of 46 bytes in size */
-
- typedef SOMLargeStruct MSAMGetBlockPB; /* Derived from a struct of 60 bytes in size */
-
- /*
- YOU SHOULD BE USING THE NEW FORM OF MARK RECIPIENTS
- * THIS VERSION IS MUCH SLOWER AND KEPT FOR COMPATIBILITY
- * REASONS.
- */
- /* not valid for tunnel form letters */
- typedef SOMLargeStruct MSAMMarkRecipientsPB; /* Derived from a struct of 44 bytes in size */
-
- /*
- * same as MSAMMarkRecipients except it takes a mailMsgRef instead of
- * queueRef, seqNum
- */
- /* not valid for tunnel form letters */
- typedef SOMLargeStruct MSAMnMarkRecipientsPB; /* Derived from a struct of 40 bytes in size */
-
- /****************************************************************************************/
- typedef SOMLargeStruct MSAMCreatePB; /* Derived from a struct of 80 bytes in size */
-
- typedef SOMLargeStruct MSAMBeginNestedPB; /* Derived from a struct of 68 bytes in size */
-
- typedef SOMLargeStruct MSAMEndNestedPB; /* Derived from a struct of 28 bytes in size */
-
- typedef SOMLargeStruct MSAMSubmitPB; /* Derived from a struct of 46 bytes in size */
-
- typedef SOMLargeStruct MSAMPutMsgHeaderPB; /* Derived from a struct of 38 bytes in size */
-
- typedef SOMLargeStruct MSAMPutAttributePB; /* Derived from a struct of 42 bytes in size */
-
- typedef SOMLargeStruct MSAMPutRecipientPB; /* Derived from a struct of 36 bytes in size */
-
- typedef SOMLargeStruct MSAMPutContentPB; /* Derived from a struct of 52 bytes in size */
-
- typedef SOMLargeStruct MSAMPutEnclosurePB; /* Derived from a struct of 130 bytes in size */
-
- typedef SOMLargeStruct MSAMPutBlockPB; /* Derived from a struct of 60 bytes in size */
-
- /****************************************************************************************/
- typedef SOMLargeStruct MSAMCreateReportPB; /* Derived from a struct of 52 bytes in size */
-
- typedef SOMLargeStruct MSAMPutRecipientReportPB; /* Derived from a struct of 32 bytes in size */
-
- /****************************************************************************************/
- typedef SOMLargeStruct MailWakeupPMSAMPB; /* Derived from a struct of 34 bytes in size */
-
- typedef SOMLargeStruct MailCreateMailSlotPB; /* Derived from a struct of 56 bytes in size */
-
- typedef SOMLargeStruct MailModifyMailSlotPB; /* Derived from a struct of 56 bytes in size */
-
- typedef SOMLargeStruct MSAMParam; /* Derived from a struct of 1834 bytes in size */
-
- /* ASYNCHRONOUS ONLY, client must call WaitNextEvent */
- /* ASYNCHRONOUS ONLY, client must call WaitNextEvent */
- /* ASYNCHRONOUS ONLY, client must call WaitNextEvent */
- /* Personal MSAM Glue Routines */
- /* SYNC ONLY */
- /* Server MSAM Glue Routines */
- /* SYNC ONLY */
- /* SYNC ONLY */
- /* Get Interface Glue Routines */
- /* Put Interface Glue Routines */
- /* SYNCHRONOUS ONLY */
- /* SYNCHRONOUS ONLY */
- /* Reports and Error Handling Glue Routines */
- /* MsgSummary Glue Routines */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __OCEMAIL_IDL__ */
-
-